A Controlled Experiment on Inheritance Depth as a Cost Factor for Maintenance
نویسندگان
چکیده
In two controlled experiments we compare the performance on maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. John Daly et al. previously reported on similar experiments on the same question with quite different results. They found that the 5-level program tended to be harder to maintain than the 0-level program, while the 3-level program was significantly easier to maintain than the 0-level program. We describe the design and setup of our experiment, the differences to the previous ones, and the results obtained. Ours and the previous experiments are different in several ways: We used a longer and more complex program, made an inheritance diagram available to the subjects, and added a second kind of maintenance task. Nevertheless, when taken together, the results suggest that there is no such thing as usefulness or harmfulness of a certain inheritance depth as such. Maintenance effort depends on other factors partly related to inheritance depth. Using a posthoc statistical analysis, we identify the number of relevant methods to be one such factor. It can be used to build a statistical prediction model of average maintenance effort that is much more powerful than a model relying on inheritance depth.
منابع مشابه
A controlled experiment on inheritance depth as a cost factor for code maintenance
In two controlled experiments we compare the performance on code maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. Daly et al. previously reported similar experiments on the same question with quite different results. The...
متن کاملAnswer to reviews of TSE # 110555 ( “ A Controlled Experiment on Inheritance
In two controlled experiments we compare the performance on code maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. Daly et al. previously reported similar experiments on the same question with quite different results. The...
متن کاملThe impact of inheritance depth on maintenance tasks – Detailed description and evaluation of two experiment replications
Inheritance is one of the main concepts of object-oriented technology. It is claimed that the use of inheritance improves productivity and decreases development time. John Daly et al. reported on two experiments evaluating the effects of inheritance depth on program maintenance. They found that maintenance was performed significantly quicker for software using three levels of inheritance, compa...
متن کاملHuman resources scheduling based on machines maintenance planning and human reliability level
In today's competitive market, quality has an important role in manufacturing system. The manufacturers attempt to maintain their production system in a proper condition to produce high quality products. One of the key factors to achieve this goal is maintenance policy. Most studies on maintenance focused on machines and less attention has been paid to human resources as the most important fact...
متن کاملبررسی ضرورت پوشانیدن گل ها در گرده افشانی کنترل شده سیب با ردیابی آلل های ریزماهواره در نتاج تلاقی ارقام گلدن ’ اسموتی ‘ ×شفیع آبادی
A population of offspring from a cross between ‘Golden Smoothee’ × ‘Shafi Abadi’ apple which was developed by two methods of controlled pollination (with and without covering after controlled pollination) was used to investigate the inheritance of microsatellite alleles and the necessity of covering in controlled pollination of apple. DNA was extracted from 60 seedlings (30 from each method) as...
متن کامل